#include <boost/serialization/map.hpp>
#include <boost/serialization/string.hpp>
#include <boost/archive/binary_iarchive.hpp>

#include <fstream>
#include <map>

using namespace std;

typedef map<string, int> string_int_map;
map<string, map<int, double> > m;

int main(int argc, char ** argv){
  ifstream ifs(argv[1],ios::binary);
  boost::archive::binary_iarchive oa(ifs);
  oa >> BOOST_SERIALIZATION_NVP(m);

  for(map<string, map<int,double> >::iterator i = m.begin();i != m.end(); i++){
    string uid = i->first;
    map<int,double> & mm = i->second;
    cout << endl << uid << " " << mm[1] << " " << mm[-1];
  }
    
  return 0;
}
